home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / fax / src / BLURB next >
Text File  |  1994-08-01  |  20KB  |  442 lines

  1. FlexFAX Release Version 2.2.2 Available
  2. ---------------------------------------
  3.  
  4. This note has the following sections:
  5.  
  6.     Overview
  7.     Supported Systems
  8.     About the Distribution
  9.     Class 1 Modem Support
  10.     Commonly Asked Questions
  11.     How to Obtain the Distribution by FTP
  12.     How to Obtain the Distribution by Mail
  13.     How to Obtain the Distribution within Silicon Graphics 
  14.     What to do Once You've Retrieved Stuff (source distribution)
  15.     What to do Once You've Retrieved Stuff (binary distribution)
  16.     FlexFAX Mailing List
  17.     Use and Copyright
  18.  
  19.  
  20. Overview
  21. --------
  22. FlexFAX is a facsimile system for UNIX systems.  It supports:
  23.  
  24. o sending facsimile
  25. o receiving facsimile
  26. o polled retrieval of facsimile
  27. o transparent shared data use of the modem
  28.  
  29. Facsimile can be any size (e.g. A4, B4), either 98 or 196 lpi, and
  30. transmitted/received as either 1D-encoded or 2D-encoded facsimile data
  31. (2D-encoded data is frequently more compact and hence takes a shorter
  32. time to communicate).
  33.  
  34. Outgoing documents can be any format; the sendfax program uses a
  35. rule-based definition file similar to the System V /etc/magic file 
  36. to deduce document types and to decide how to convert each document
  37. to a form suitable for transmission (either PostScript or TIFF/F).
  38. Automatic cover page generation is supported and users can easily
  39. tailor cover pages to their environment.  A simple text-based
  40. phonebook database is supported by sendfax.  Information is also
  41. provided on how to trivially setup an email to fax gateway service.
  42.  
  43. Incoming facsimile are stored in a receiving area as TIFF/F files and
  44. may be automatically delivered by mail and/or printed.  A fax server
  45. status program, faxstat, can be used to monitor the send and receive
  46. queues, as well as the state of facsimile servers.
  47.  
  48. Fax modems may be shared with outgoing data communication applications
  49. that honor the "uucp locking protocol".  These applications typically
  50. include: cu, tip, kermit, uucp, slip, and ppp.  The system can also be
  51. configured so that incoming data calls cause the system to invoke the
  52. standard system getty program.
  53.  
  54. The software is structured around a client-server architecture.  One
  55. facsimile server process exists for each fax modem on a network.
  56. Clients may send facsimile from any machine that can communicate with
  57. the machine(s) on which the server(s) reside.  Client software is
  58. designed to be lightweight and easy to port; imaging can be offloaded
  59. to the server or done on the client.  (Imaging is, however, typically
  60. done on the server because it simplifies administration.)  Multiple
  61. modems may be located on a single machine.  An access control mechanism
  62. is included to control which users on which machines may submit
  63. documents for transmission.
  64.  
  65. The system supports a wide variety of fax modems.  Any Class 1, Class 2,
  66. Class 2.0 modem should work with the system.  The following modems have
  67. been used successfully with the software:
  68.  
  69. Manufacturer    Model            Notes    Class     Firmware Rev
  70. ------------    -----            -----    -----     ------------
  71. Abaton        InterFax 24/96                  unavailable
  72. AT&T Paradyne    DataPort 14.4         $    1,2     >= C01.22.00
  73. Boca Research    M1440E                2     >= V1.270
  74. Boca Research    M1440E/RC32ACL         @    2     V1.000
  75. CPI        ViVa 14.4/FAX            2     V1.10 172-502402-013
  76. Dallas Fax    <something>            2     not recommended
  77. Digicom        Scout+             +    1     >= 2A19/2931
  78. Dynalink (?)    Dynalink 1414VE            2     CBS-03
  79. Everex        EverFax 24/96D            2     >= 901231
  80. Hayes        Optima 144               1     unknown
  81. Hayes        Optima 2400+Fax96           2     >= TR00-J260-001 XXX
  82. Intel        SatisFAXtion 400e        1     >= U20-28F001BX-5.00
  83. Logicode    Quicktel Xeba 14.4        2     V0.500 TR14-Jxxx-001
  84. Multi-Tech    MT1432BA, MT224BA     *,+    2     >= 0307 I
  85. Multi-Tech    MT1432BG            2     0109A
  86. Nuvo        Voyager 96424PFX        1     AF-C2500-E0
  87. OLITEC FRANCE    OLICOM POCHE FAX MODEM 2400    2     TR24-J???-001 007
  88. PPI        PM14400FXMT, PM14400FXSA    2     >= 2.17
  89. Supra        SupraFAX v.32bis        1,2     >= V1.200-C
  90. Supra        SupraFAX v.32bis/RC32ACL @    2     >= V1.000
  91. Telebit        T3000, WorldBlazer, QBlazer    2     >= LA7.01
  92. Twincom        144/DF                2     >= V1.200
  93. USRobotics    Courier                1,2.0     >=Sup4.1/DSP11
  94. USRobotics    Sportster            1     >=Sup4.1/DSP10
  95. Zoom        VFX                1,2     V2.00
  96. Zero One Net.    ZyXEL U1496E, U1496E+, U1496S    2,2.0     >= 5.01
  97.  
  98. Notes:
  99.  
  100. * There are apparently many variants of the MT1432BA, the following
  101.   models are known to work: MT1432BA, MT1432BA/A, MT1432MK, MT1432PCS.
  102. @ /RC32ACL refers to second-generation products made with the Rockwell
  103.   RC32ACL part and different firmware.
  104. + Modem is recommended for use with this software.
  105. $ Modem is recommended for use with this software when used in Class 1.
  106.  
  107. Class 1 means the modem supports the TIA/EIA-578 "Class 1" specification.
  108. Class 2 means the modem supports the TIA/EIA-592 draft SP-2388-A of
  109.     August 30, 1991.
  110. Class 2.0 means the modem supports the TIA/EIA-592 "Class 2.0" specification.
  111. The Abaton modem uses a proprietary interface that is
  112.     neither Class 1 or Class 2.
  113. SEE THE SECTION "Class 1 Support" FOR IMPORTANT INFO ON CLASS 1 SUPPORT
  114.  
  115. Note however that some modems perform better than others.  The file
  116. MODEMS included in the distribution provides information about each
  117. modem that has been tried.
  118.  
  119.  
  120. Supported Systems
  121. -----------------
  122. The software has been ported to the following systems:
  123.  
  124. aix32     AIX v3.2.3 extended-v3.2.5 on RISC System/6000
  125. bsdi     BSD/386 1.1 w/ its included GNU gcc 2.5.8
  126. 4.4bsd     4.4BSD w/ GNU gcc 2.4.5 (incomplete)
  127. freebsd     FreeBSD on an Intel 486 w/ GNU gcc
  128. hpux     HP-UX 9.x on an HP 9000/700 (incomplete)
  129. isc     ISC4.0 on a 386 with gcc 2.5.8
  130. linux     Linux 99p9 on an Intel 386 using gcc 2.4.5
  131. sco     SCO 3.2v4 (ODT 3) (incomplete)
  132. sgi     IRIX 4.x and 5.x systems w/ AT&T C++ compiler
  133. solaris2 Solaris 2.x on a Sun4 with GNU gcc 2.5.8
  134. sun     Sun3/Sun4 w/ SunOS 4.1.X and GNU gcc 2.5.8
  135. svr4     System V Release 4 on an Intel x86 w/ GNU gcc 2.5.8
  136. 386bsd     386bsd 0.1 on an Intel 486 w/ GNU gcc 2.4.5
  137. ultrix     Ultrix 4.2A w/ GNU gcc 2.5.8 (see port/ultrix/README)
  138.  
  139. Systems that are marked (incomplete) compile properly and can be used
  140. to send and receive facsimile, but may have known problems or may be
  141. lacking some utilities such as the faxaddmodem installation script.
  142. Systems that are marked (not yet ready) are in preparation, but not
  143. yet organized for distribution.
  144.  
  145. Porting the software is usually straightforward provided there is a
  146. working C++ compiler (e.g. gcc), PostScript imaging facility (e.g.
  147. ghostscript), and support for a limited subset of the POSIX system call
  148. interface.  System requirements are described more fully in the source
  149. code distribution.
  150.  
  151.  
  152.  
  153. About the Distribution
  154. ----------------------
  155. There are two distributions: a binary version that is directly
  156. installable on Silicon Graphics IRIX systems and a source
  157. distribution.
  158.  
  159. The executables in the binary version of this distribution are for
  160. Silicon Graphics 4D processor-based systems.  There are two different
  161. binary distributions for SGI systems; one for systems running IRIX 4.x
  162. and another for systems running IRIX 5.x.
  163.  
  164. The source distribution includes all the source code in the system
  165. except a small bit of code used to build a Display PostScript-based
  166. imager (this code is useless unless you have a developers agreement
  167. with Adobe for Display PostScript).  The system is written almost
  168. entirely in C++.  I use the AT&T 3.0 compiler, as supported by Silicon
  169. Graphics.  GNU gcc 2.5.8 has been successfully used to build this
  170. software on all systems.
  171.  
  172. A PostScript interpreter program is needed for imaging outgoing
  173. facsimile on the server machine.  The binary distribution for Silicon
  174. Graphics machines includes an imaging program that requires the Display
  175. PostScript execution environment (dps_eoe) that is available with most
  176. versions of IRIX.  The source distribution includes a device driver for
  177. use with Ghostscript version 2.6.1 (an earlier version of this driver
  178. is also included in the Ghostscript distribution).
  179.  
  180.  
  181.  
  182. Class 1 Modem Support (Caveat Emptor)
  183. -------------------------------------
  184. Most contemporary fax modems provide one of two command interfaces for
  185. communication between the host and modem: Class 1 or Class 2 (actually,
  186. many modems that provide a Class 2 interface also provide a Class 1
  187. interface.)  These interfaces are specified by the Electronic
  188. Industries Association/Telecommunications Industry Association
  189. (EIA/TIA).  The Class 1 standard provides minimal hardware support for
  190. fax communication while Class 2 adds many commands and places more
  191. functionality in the modem.
  192.  
  193. FlexFAX includes drivers for both Class 1 and Class 2 modems.  Robust
  194. support for Class 1 modems places two requirements on the host system:
  195.  
  196. o low latency for serial line input
  197. o near realtime response
  198.  
  199. In a UNIX environment both these requirements can be problematic.  In
  200. particular, many UNIX systems increase the latency for data received on
  201. a serial port in order to reduce system overhead.  That is, input data
  202. are typically held in a low level device driver for some period of time
  203. before they are passed to the user so that bursts of input data can be
  204. delivered to the user together.  This behaviour is known to occur under
  205. the Silicon Graphics IRIX and SunOS 4.1.x operating systems; it may
  206. also occur under other systems.  It is important for the proper
  207. operation of the Class 1 driver that input data be delivered to the
  208. facsimile server as quickly as possible.  This may require making a
  209. non-standard call of some sort to the operating system.  For SGI
  210. systems this call is automatically done.  For SunOS systems it appears
  211. that the only way to minimize the input latency is to create a stream
  212. i/o module that accesses an internal interface (see the comments in the
  213. routine setInputBuffering in faxd/FaxServer.c++ and the directory
  214. port/sun/zsundev that contains source for a kernel streams module).
  215.  
  216. The response time requirements are important for insuring that T.30
  217. protocol messages are received in a timely fashion.  On a loaded
  218. system the protocol process may be preempted by other activities and
  219. not be run fast enough to satisfy the protocol timing requirements.
  220. This can usually be guarded against by assigning the facsimile process
  221. a high scheduling priority.  Unfortunately most UNIX systems do not
  222. provide support for such facilities and so even if it is possible to
  223. receive serial line input with the minimum of delay, protocol timing
  224. requirements may not be met because of delays in scheduling the
  225. execution of the fax server process.  For this reason the facsimile
  226. server process attempts to raise its scheduling priority while it is
  227. actively sending or receiving facsimile.  At other times, such as when
  228. it is doing queue management operations, it runs at a normal priority.
  229. On Silicon Graphics and SVR4-based systems the ``high priority'' is a
  230. nondegrading scheduling priority that is above the priorities of the
  231. normal system processes.  On other systems the server currently always
  232. runs at the same (normal) scheduling priority.  For more details
  233. consult the setProcessPriority routine in faxd/FaxServer.c++.
  234.  
  235. In summary, if you want to use a Class 1 modem with this software and
  236. your system does not provide support for low latency serial line input
  237. you are likely to have troubles.  If your system does not provide a
  238. mechanism for raising process scheduling priority (note that this is
  239. not the same as the UNIX ``nice'' parameter), then you may see problems
  240. when the server is under load.  Exactly how much load will cause trouble
  241. is dependent on the system configuration and processing power.
  242.  
  243.  
  244.  
  245. Commonly Asked Questions
  246. ------------------------
  247. Q: What's the best modem to buy/use with this software?
  248. A: First, if your system is incapable of supporting a Class 1 modem, then
  249.    you need to use a Class 2 modem.  The modems recomended for use with
  250.    FlexFAX, based on feedback from users of the software, are marked with
  251.    a (+) in the above table.  Modems not marked with a (+), or not listed
  252.    above, may also work well with this software.  Beware of modem firmware
  253.    revisions when consulting the table.  Note also that the selections are
  254.    based on sending AND receiving facsimile, but not on data use.  Class 2
  255.    modems are evaluated based on their ability to do adaptive answer, but
  256.    these recommendations are STRICTLY FOR FAX USE.
  257.  
  258. Q: My modem is not listed as supported, will it work?
  259. A: If the modem conforms to the draft Class 2 standard that most vendors
  260.    used to implement their ``Ersatz Class 2'' modems, then it should work
  261.    with the software; probably with some minor modifications to one of the
  262.    modem configuration files distributed with the system.
  263.  
  264.    If the modem conforms to the EIA-578 "Class 1" programming interface,
  265.    then it will only work if the intended host provides certain system
  266.    facilities.  Class 1 modems have successfully been used with this
  267.    software on Silicon Graphics and Sun systems.
  268.  
  269.    Otherwise it is possible to support a modem by writing a new ``modem
  270.    driver'' that is compiled into the facsimile server.
  271.  
  272. Q: My system is not listed as supported, how hard is it to do a port?
  273. A: The software is written mostly in C++ and can be built on any system
  274.    with GNU gcc 2.4.5 or later.  The software also requires a reasonable
  275.    set of POSIX system interfaces, support for the select system call,
  276.    and FIFO special files.  Missing facilities can typically be handled
  277.    by looking at other ports and cribbing code.  A complete port will also
  278.    require some modification to the shell script used to setup and install
  279.    modems.  A person that is familiar with their system should be able to
  280.    port the software in a few days.
  281.  
  282.  
  283.  
  284. How to Obtain the Distribution by FTP
  285. -------------------------------------
  286. The source code is available for public ftp on
  287.     sgi.com            sgi/fax/v2.2.src.tar.Z
  288.     (192.48.153.1)
  289.  
  290. You can also obtain inst'able images for Silicon Graphics machines from
  291.     sgi.com            sgi/fax/v2.2.inst.tar
  292.     (192.48.153.1)
  293.  
  294. For example,
  295.     % ftp -n sgi.com
  296.     ....
  297.     ftp> user anonymous
  298.     Password: <use mail address as password>
  299.     ftp> cd sgi/fax
  300.     ftp> binary
  301.     ftp> get v2.2.src.tar.Z
  302.     ....
  303.     ftp> quit
  304.  
  305. In general, the latest version of the 2.2 release of the software is
  306. always available as "v2.2.src.tar.Z" or "v2.2.inst.tar" in the ftp
  307. directory.  This file is a link to the appropriate released version (so
  308. don't waste your time retrieving the linked file as well!) Any files of
  309. the form v2.2.*.patch are shell scripts that can be used to patch older
  310. versions of the source code.  For example, the file v2.2.2.patch would
  311. contain patches to update v2.2.2.tar.Z.  Patch files only work to go
  312. between consecutive versions, so if you are multiple versions behind
  313. the latest release, you will need to apply each patch file between your
  314. current version and the latest.
  315.  
  316.  
  317. How to Obtain the Distribution by Mail
  318. --------------------------------------
  319. Do not send me requests for the software; they will be ignored (without
  320. response).  If you cannot use FTP at all, there is a service called
  321. "ftpmail" available from gatekeeper.dec.com:  you can send e-mail to
  322. this machine and it will use FTP to retrieve files for you and send you
  323. the files back again via e-mail.  To find out more about the ftpmail
  324. service, send a message to "ftpmail@gatekeeper.dec.com" whose body
  325. consists of the single line "help".
  326.  
  327.  
  328. How to Obtain the Distribution within Silicon Graphics 
  329. ------------------------------------------------------
  330. Internal to Silicon Graphics there are inst'able images on the host
  331. flake.asd in the directory /usr/dist.  Thus you can do something like:
  332.  
  333.     % inst -f flake.asd.sgi.com:/usr/dist/flexfax
  334.  
  335. to install the latest version of the software on your machine.
  336.  
  337.  
  338. What to do Once You've Retrieved Stuff (source distribution)
  339. ------------------------------------------------------------
  340. The source distributions come in a compressed tar file.  To extract the
  341. software do something like:
  342.  
  343.     % mkdir fax; cd fax
  344.     % zcat <somewhere>/v2.2.src.tar.Z | tar xf -
  345.  
  346. (uncompress and extract individual files in current directory).  Then
  347. follow the instructions in the file README in the top of the source tree.
  348.  
  349. What to do Once You've Retrieved Stuff (binary distribution)
  350. ------------------------------------------------------------
  351. The binary distribution comes as a tar file that contains images for
  352. use with the standard Silicon Graphics installation program inst(1).
  353. To unpack the inst images do something like:
  354.  
  355.     % mkdir dist; cd dist
  356.     % tar xf <somewhere>/v2.2.inst.tar
  357.  
  358. Next, run inst to install the appropriate pieces that you want.  The
  359. key documentation from the source distribution is included in the
  360. subsystem flexfax.man.readme.  When this subsystem is installed the
  361. README file and other useful pieces of information are placed in the
  362. directory /usr/local/doc/flexfax.  Otherwise the software is broken
  363. into two areas: flexfax.client.* for software needed on client machines,
  364. and flexfax.server.* for software needed on a machine where a fax
  365. modem is located.  To unpack and install the client portion:
  366.  
  367.     % mkdir dist; cd dist
  368.     % tar xf ../v2.2.inst.tar
  369.     % cd ..; inst -f dist/flexfax
  370.     ...
  371.     inst> go
  372.  
  373. (Note, the dist subdirectory is because some versions of inst fail if
  374. the files are in the current directory.)  Note that server binaries are
  375. not installed by default, so to get them also you need to do:
  376.  
  377.     % inst -f flexfax
  378.     ...
  379.     inst> install flexfax.server.*
  380.     inst> go
  381.  
  382. Remember that to install a server on a Silicon Graphics machine, you
  383. need to have already installed the Display PostScript execution
  384. environment product (dps_eoe).  Otherwise, the fax server will not be
  385. able to convert PostScript to facsimile for transmission.
  386.  
  387.  
  388. FlexFAX Mail List
  389. -----------------
  390. A mailing list for users of this software is located on sgi.com.
  391. If you want to join this mailing list or have a list-related request
  392. such as getting your name removed from it, send a request to
  393.  
  394.     majordomo@whizzer.wpd.sgi.com
  395.  
  396. For example, to subscribe, send the line "subscribe flexfax" in
  397. the body of your message.  The line "help" will return a list of
  398. the commands understood by the mailing list management software.
  399.  
  400. Submissions (including bug reports) should be directed to:
  401.  
  402.     flexfax@sgi.com
  403.  
  404. When corresponding about this software please always specify what
  405. version you have, what system you're running on, and, if the problem is
  406. specific to your modem, identify the modem and firmware revision.
  407.  
  408.  
  409.  
  410. Use and Copyright
  411. -----------------
  412. Silicon Graphics has seen fit to allow me to give this work away.  It
  413. is free.  There is no support or guarantee of any sort as to its
  414. operations, correctness, or whatever.  If you do anything useful with
  415. all or parts of it you need to honor the copyright notices.   I would
  416. also be interested in knowing about it and, hopefully, be acknowledged.
  417.  
  418.     Sam Leffler    (sam@sgi.com)
  419.  
  420.  
  421. Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
  422. Copyright (c) 1991, 1992, 1993, 1994 Silicon Graphics, Inc.
  423.  
  424.     Permission to use, copy, modify, distribute, and sell this software and 
  425.     its documentation for any purpose is hereby granted without fee, provided
  426.     that (i) the above copyright notices and this permission notice appear in
  427.     all copies of the software and related documentation, and (ii) the names of
  428.     Sam Leffler and Silicon Graphics may not be used in any advertising or
  429.     publicity relating to the software without the specific, prior written
  430.     permission of Sam Leffler and Silicon Graphics.
  431.  
  432.     THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  433.     EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  434.     WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  435.  
  436.     IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  437.     ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  438.     OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  439.     WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  440.     LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  441.     OF THIS SOFTWARE.
  442.